<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">

        <ui:define name="contenido">
            <SCRIPT language="JavaScript" type="text/javascript">
                   
                function abrirPopupExp(xhr, status, args) {                     
                    if(args.validationFailed || !args.CallbackParam) {  
     
                    } else {                              
                        carDialogExp.show();  
                    }  
                }  
            </SCRIPT>
            <SCRIPT language="JavaScript" type="text/javascript">
                function visualizarOrigen(xhr, status, args) {                     
                    if(args.validationFailed) {  
     
                    } else {                
                        if(args.CallbackParam == 1)
                            carDialogInfoMov.show();  
                        if(args.CallbackParam == 2)
                            carDialogInfoIntercambio.show(); 
                        if(args.CallbackParam == 3)
                            carDialogTransferenciaUM.show();
                    }  
                }
            </SCRIPT>
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">        
                <p:panel id="pgFormFilter" header="#{i18n['panel.titulo.stock']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid columns="8" cellspacing="5">

                        <h:outputLabel for="itAlmacen" styleClass="label" value="#{i18n['stock.almacen']}"/>
                        <p:selectOneMenu id="itAlmacen" value="#{stockMBean.dtoFiltro.almacenDto}"  converter="almacenConvert"   disabled="#{sessionMBean.accion == applicationMBean.ver}"                                  
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{stockMBean.listaAlmacen}" var="almacenDto" itemLabel="#{almacenDto.nombre}" itemValue="#{almacenDto}" />                        
                            <p:ajax update="itAlmacenUbicacion" listener="#{stockMBean.obtenerAlmUbiPorAlmacen}"/>
                        </p:selectOneMenu>

                        <h:outputLabel for="itAlmacenUbicacion" styleClass="label" value="#{i18n['stock.almacen.ubicacion']}"/>
                        <p:selectOneMenu id="itAlmacenUbicacion" value="#{stockMBean.dtoFiltro.auDto}"  converter="almacenUbicacionConvert"   disabled="#{sessionMBean.accion == applicationMBean.ver}"                                  
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{stockMBean.listaAlmacenUbicacion}" var="almacenUbicacionDto" itemLabel="#{almacenUbicacionDto.nombre}" itemValue="#{almacenUbicacionDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel value="#{i18n['stock.producto']}" styleClass="label"/>
                        <p:inputText label="#{i18n['stock.producto']}" 
                                     value="#{stockMBean.dtoFiltro.idProducto}"  onkeypress="return fn_validaTecla('entero',this)"
                                     styleClass="txtCampo" size="15">                            
                        </p:inputText>  

                        <h:outputLabel value="#{i18n['stock.descripcion.producto']}" styleClass="label"/>
                        <p:inputText id="itProducto" label="#{i18n['stock.descripcion.producto']}" 
                                     value="#{stockMBean.dtoFiltro.descProducto}" 
                                     style="#{applicationMBean.estilo}" size="90" maxlength="100">
                        </p:inputText>  
                        <p:watermark for="itProducto" value="#{i18n['guia.remision.placeholder.producto']}" />  

                    </h:panelGrid>
                    <f:facet name="footer">

                        <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.buscar.filtro.tip']}" accesskey="#{applicationMBean.keyBuscar}"
                                         value="#{i18n['general.button.buscar.filtro']}" ajax="false" 
                                         style="#{applicationMBean.estilosBtnBuscar}" 
                                         actionListener="#{stockMBean.buscar}"
                                         rendered="#{sessionMBean.privilegiosOpciones['913']=='true'}">
                            <f:ajax  render="pnlTabla pgFormFilter"/>
                        </p:commandButton>    
                        <p:spacer width="20" />
                        <h:outputText  value="#{stockMBean.lista.size()} #{i18n['form.general.mensaje.cantidad.encontrada']}" styleClass="mensaje" rendered="#{stockMBean.lista!=null}"/>
                    </f:facet>
                </p:panel>  

                <p:panel id="pnlTabla" header="#{i18n['general.panel.titulo.busqueda.resultado']}"   style="#{applicationMBean.estiloTitulo}" rendered="#{stockMBean.lista!=null &amp;&amp; stockMBean.lista.size()>0}">

                    <div class="info_busqueda">
                        <h:panelGrid id="pngTabla" columns="1" styleClass="tabla_dinam">
                            <p:dataTable id="tblPrincipal" value="#{stockMBean.lista}" rowKey="#{dto.idAuxiliar}" var="dto" paginatorPosition="top"                                     
                                         paginator="true" rows="#{sessionMBean.cantidadRegistros}"  widgetVar="widTableX"
                                         selection="#{stockMBean.selectedSs}">
                                <p:column selectionMode="multiple" style="width:18px"/>
                                <p:column style="text-align:center;">                                    
                                    <h:panelGrid columns="10" cellspacing="5" styleClass="estiloPanelGrid">
                                        <p:commandButton icon="ui-icon ui-icon-calculator" title="#{i18n['consulta.stock.boton.ver.historial']}"
                                                         action="#{stockMBean.cargarPopupHistorialMovimientos}" ajax="true"
                                                         oncomplete="carDialogHistorial.show()" update=":frmHistorial:pgFormHistorial"
                                                         rendered="#{sessionMBean.privilegiosOpciones['914']=='true'}">
                                            <f:setPropertyActionListener value="#{dto}" target="#{stockMBean.dto}" />                                                                    
                                        </p:commandButton>   
                                    </h:panelGrid>
                                </p:column>
                                <p:column headerText="#{i18n['stock.empresa']}"  styleClass="general">
                                    <h:outputText value="#{dto.stockDtoPK.productoDetaDto.productoDto.empresaDto.descripcion}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['stock.almacen']}" styleClass="general" style="text-align: left;">
                                    <h:outputText value="#{dto.almacenDto.nombre}" styleClass="general" />
                                </p:column>   
                                <p:column headerText="#{i18n['stock.almacen.ubicacion']}" styleClass="general" style="text-align: left;">
                                    <h:outputText value="#{dto.stockDtoPK.almacenUbicacionDto.nombre}" styleClass="general" />
                                </p:column>  
                                <p:column headerText="#{i18n['stock.producto.id']}" styleClass="general" style="text-align: left;">
                                    <h:outputText value="#{dto.stockDtoPK.productoDetaDto.productoDto.id}" styleClass="general" />
                                </p:column>  
                                <p:column headerText="#{i18n['stock.descripcion.producto']}" styleClass="general" style="text-align: left;">
                                    <h:outputText value="#{dto.stockDtoPK.productoDetaDto.productoDto.descripcion}" styleClass="general" />
                                </p:column>  
                                <p:column headerText="#{i18n['producto.unidad.medida']}" styleClass="general" style="text-align: left;">
                                    <h:outputText value="#{dto.stockDtoPK.productoDetaDto.unidadMedidaDto.nombre}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['stock.cantidad']}" styleClass="general" style="text-align: right;">
                                    <h:outputText value="#{dto.cantidad}" styleClass="general" />
                                </p:column>  

                            </p:dataTable>
                        </h:panelGrid>
                    </div>
                    <f:facet name="footer">
                        <p:commandButton title="#{i18n['stock.button.exp_planilla_seleccionados']}" disabled="#{stockMBean.lista == null || stockMBean.lista.size() == 0}" accesskey="#{applicationMBean.keyGuardar}"
                                         icon="ui-icon ui-icon-arrowthickstop-1-s" 
                                         ajax="true" 
                                         value="#{i18n['stock.button.exp_planilla_seleccionados']}" style="#{applicationMBean.estilosBtnExportarSelecc}"
                                         action="#{stockMBean.cargarPopupExportarExcel('S')}"
                                         oncomplete="abrirPopupExp(xhr, status, args)" update=":msgs, :frmExp:pgFormExp"
                                         rendered="#{sessionMBean.privilegiosOpciones['915']=='true'}">                                    
                        </p:commandButton> 

                        <p:commandButton title="#{i18n['stock.button.exp_planilla_por_tabla']}" disabled="#{stockMBean.lista == null || stockMBean.lista.size() == 0}" accesskey="#{applicationMBean.keyGuardar}"
                                         icon="ui-icon ui-icon-arrowthickstop-1-s" 
                                         ajax="true" immediate="true"
                                         value="#{i18n['stock.button.exp_planilla_por_tabla']}" style="#{applicationMBean.estilosBtnExportarTodos}"
                                         action="#{stockMBean.cargarPopupExportarExcel('T')}"
                                         oncomplete="abrirPopupExp(xhr, status, args)" update=":msgs, :frmExp:pgFormExp"
                                         rendered="#{sessionMBean.privilegiosOpciones['916']=='true'}">                                    
                        </p:commandButton>   

                    </f:facet>
                </p:panel>
            </h:form>
            <p:dialog id="dialogHistorial" header="#{i18n['consulta.stock.popup.historial.titulo']}" widgetVar="carDialogHistorial" resizable="false"  
                      width="950" height="600" >   
                <ui:include src="/pages/inve/stock/popupHistorialStock.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogInfoMovimiento" header="#{i18n['guia.remision.origen.info']}" widgetVar="carDialogInfoMov" resizable="false"  
                      width="700" height="500" modal="true">   
                <ui:include src="/pages/inve/stock/infoMovimiento.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogInfoDetalle" header="#{i18n['panel.titulo.guia.remision.detalle']}" widgetVar="carDialogDetalleInfo" resizable="false"  
                      width="480" height="300" >   
                <ui:include src="/pages/inve/guiaRemision/infoGuiaRemisionDetaFom.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogInfoIntercambio" header="#{i18n['guia.remision.origen.info']}" widgetVar="carDialogInfoIntercambio" resizable="false"  
                      width="700" height="500" modal="true">   
                <ui:include src="/pages/inve/stock/infoIntercambioUbica.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogInfoDetalleIntercambio" header="#{i18n['panel.titulo.intercambio.ubica.detalle']}" widgetVar="carDialogDetalleInfoIntercambio" resizable="false"  
                      width="480" height="300" >   
                <ui:include src="/pages/inve/intercambioUbica/infoIntercambioUbicaDeta.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogInfoTransferenciaUM" header="#{i18n['panel.titulo.transf.um']}" widgetVar="carDialogTransferenciaUM" resizable="false"  
                      width="700" height="500" >   
                <ui:include src="/pages/inve/transferencia/infoTransfUnidadMedida.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogExp" header="#{i18n['stock.popup.exp.titulo']}" widgetVar="carDialogExp" resizable="false"  
                      width="490" height="180" modal="true">                  
                <ui:include src="/pages/inve/stock/listaColumnas.xhtml" /> 
            </p:dialog>
        </ui:define>
    </ui:composition>
</html>
